﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TimKen.App;
using TimKen.BussLogic;
using System.Data;
using System.Text.RegularExpressions;

namespace TimKen.Web
{
    public partial class Business : WebPage
    {
        DataEntity.PBrand brand;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                InitData();
            }
        }
        private void InitData()
        {
            BindData(1, 13);
        }

        private void BindData(int index, int size)
        {
            this.AspNetPager1.RecordCount = new PBrandManager().GetCount();
            //品牌
            // DataTable dsBrand = new PBrandManager().GetList(" WHERE BrandID!=4").Tables[0];
            DataTable dsBrand = new PBrandManager().GetList("PBrand", "BrandID", "", index, size, " and BrandID!=4").Tables[0];

            dsBrand.Columns.Add("Msg", typeof(string));
            for (int i = 0; i < dsBrand.Rows.Count; i++)
            {
                brand = new PBrandManager().GetModel(int.Parse(dsBrand.Rows[i]["BrandID"].ToString()));
                if (!string.IsNullOrEmpty(brand.Description))
                {
                    dsBrand.Rows[i]["Msg"] = NoHTML(brand.Description).Trim().Substring(0, 42) + "。";
                }
            }
            this.dlBrand.DataSource = dsBrand;
            this.dlBrand.DataBind();
        }
        public static string NoHTML(string Htmlstring)
        {

            //删除脚本

            Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);

            //删除HTML

            Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);

            Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);

            Htmlstring.Replace("<", "");

            Htmlstring.Replace(">", "");

            Htmlstring.Replace("\r\n", "");

            //Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

            return Htmlstring;

        }

        protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            BindData(this.AspNetPager1.CurrentPageIndex, this.AspNetPager1.PageSize);
        }
    }
}